package com.andnnl.fileanalysis;

import java.util.List;
import java.util.stream.IntStream;

/**
 * 文件监听(单条处理,配置了batchSize会不生效)
 * Created by chenss on 2021/6/2.
 */
@FunctionalInterface
public interface AnalysisListenerRow extends AnalysisListenerBase {
    /**
     * 批量处理
     *
     * @param rowList
     * @param rowNumList
     */
    @Override
    default void invokeBatch(List<List<String>> rowList, List<Integer> rowNumList) {
        IntStream.range(0,rowList.size()).forEach(i->this.invoke(rowList.get(i),rowNumList.get(i)));
    }
    /**
     * 单行处理
     * @param row
     */
    void invoke(List<String> row);

}
